﻿using System;

using FireBus.Contracts;


namespace FireBus.Shell.Contracts
{
	[Serializable]
	public class ShellCommandToken : ValueObject<ShellCommandName>
	{
		private readonly String _Description;


		public ShellCommandName Name
		{
			get { return Value; }
		}

		public String Description
		{
			get { return _Description; }
		}

		public ShellCommandToken(
			ShellCommandName name,
			String description)
		{
			if (name == null)
			{
				throw new ArgumentNullException("name");
			}
			
			Value = name;
			_Description = description;
		}
	}
}
